import Vue from 'vue'
import VueRouter from 'vue-router'
import Layout from '@/layout'
Vue.use(VueRouter)

/**

*注意：子菜单仅在路由时出现儿童.长度>=1

*详情见：https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html

*

*hidden:true如果设置为true，则不会在侧边栏中显示该项（默认为false）

*alwaysShow:true如果设置为true，将始终显示根菜单

*如果未设置alwaysShow，则当项目有多个子路径时，

*它将变成嵌套模式，否则不显示根菜单

*redirect：如果设置了noRedirect，则noRedirect将不会在breadcrumb中重定向

*name:'router-name'名称由<keep alive>使用（必须设置！！！）

*meta：{

    roles: ['admin','editor'] ,您可以设置多个角色（可以设置多个角色）

    title:'title',在侧边栏和面包屑中显示的名称（推荐集）

    icon:'svg name'图标显示在侧栏中

    noCache:true如果设置为true，则不会缓存该页（默认值为false）

    affix：true如果设置为true，则标签将在tags视图中不可删除

    breadcrumb:false如果设置为false，则项目将隐藏在breadcrumb中（默认为true）

    activeMenu:'/example/list'如果设置路径，侧栏将突出显示您设置的路径
    }

*/
export const asyncRoutes = [{
    path: '/',
    redirect: '/login'
  },
  {
    path: '/login',
    name: 'Login',
    component: () => import('../view/login/index'),
    meta: {
      title: 'Login',
      icon: 'logo',
      noCache: true
    },
  }
]
export const constantRoutes = [
  {
    path: '/home',
    redirect: '/home/index',
    component: Layout,
    meta: {
      title: 'Home',
      icon: 'home',
      noCache: true
    },
    children: [{
      path: 'index',
      component: () => import('../view/home/home'),
      name: 'HomeIndex',
      meta: {
        title: 'HomeIndex',
        icon: 'home',
        noCache: true
      }
    }, {
      path: 'homeLogo',
      component: () => import('../view/logo/logo'),
      name: 'homeLogo',
      meta: {
        title: 'HomeLogo',
        icon: 'people',
        noCache: true
      }
    }, {
      path: 'homecopy',
      component: () => import('../view/clipboard/index'),
      name: 'homecopy',
      meta: {
        title: 'homecopy',
        icon: 'pdf',
        noCache: true
      }
    }, {
      path: '/error-log',
      component: () => import('../view/error-log/index'),
      name: 'ErrorLog',
      meta: {
        title: '错误日志',
        icon: 'bug'
      }
    }, {
      path: '/401',
      component: () => import('../view/error-page/401'),
      name: 'Page401',
      meta: {
        title: '401',
        icon: 'bug'
      }
    }, {
      path: '/404',
      component: () => import('../view/error-page/404'),
      name: 'Page404',
      meta: {
        title: '404',
        icon: 'bug'
      }
    }, {
      path: '/icon',
      component: () => import('../view/icons/index'),
      name: 'Icons',
      meta: {
        title: '图标',
        icon: 'icon'
      }
    }],
  }
]

const router = new VueRouter({
  scrollBehavior: () => ({
    y: 0
  }),
  routes: constantRoutes.concat(asyncRoutes)
})
export default router